<?php

class DatabaseSeeder extends Seeder {

	/**
	 * Run the database seeds.
	 *
	 * @return void
	 */
	public function run()
	{
		Eloquent::unguard();

		DB::statement('SET FOREIGN_KEY_CHECKS = 0');
		
		$this->call('UserTableSeeder');
		$this->call('RolesTableSeeder');
		$this->call('NoticiasTableSeeder');
		$this->call('ComentariosTableSeeder');
		$this->call('CamposTableSeeder');
		$this->call('TorneosTableSeeder');
		$this->call('CronicasTableSeeder');
		
		DB::statement('SET FOREIGN_KEY_CHECKS = 1');
		
	}

}

class ComentariosTableSeeder extends Seeder {

public function run()
	{
		DB::table('noticias_comentarios')->truncate();
		DB::table('torneos_comentarios')->truncate();
		DB::table('cronicas_comentarios')->truncate();
		DB::table('comentarios')->truncate();

		Comentario::create(array(
		'contenido' => 'precio bastante asequible la verdad, aunque sea un poco fea...',
		'user_id'=>User::first()->id,
		));

		Noticia::find(4)->comentarios()->attach(Comentario::find(1));


		Comentario::create(array(
		'contenido' => 'si la verdad es que es bastante horrible, pero la compre hace poco y funciona de lujo',
		'user_id'=>User::first()->id,
		));

		Noticia::find(4)->comentarios()->attach(Comentario::find(2));

		Comentario::create(array(
		'contenido' => 'yo la acabo de pedir espero que en 2 dias me llegue. Que nervios jaja',
		'user_id'=>User::first()->id,
		));

		Noticia::find(4)->comentarios()->attach(Comentario::find(3));

		Comentario::create(array(
		'contenido' => 'estas bolas son las mejores sin duda y mas baratas que las que solia comprar.',
		'user_id'=>User::first()->id,
		));

		Noticia::find(3)->comentarios()->attach(Comentario::find(4));
	}
}

class CamposTableSeeder extends Seeder {

	public function run()
	{
		DB::table('campos_imagenes')->truncate();
		DB::table('campos')->truncate();

		Campo::create(array('nombre' => 'orejilla del sordete','latitud'=>40.3563485,'longitud'=>-3.9105458));
		Campo::create(array('nombre' => 'masegoso de la Alpujarra','latitud'=>40.3563485,'longitud'=>-3.9105458));
		Campo::create(array('nombre' => 'cendrejas del padrastro','latitud'=>40.3563485,'longitud'=>-3.9105458));
		
		Campo::find(1)->imagenes()->save(new ImagenCampo(array('url'=>'ods1.jpg')));
		Campo::find(1)->imagenes()->save(new ImagenCampo(array('url'=>'ods2.jpg')));
		Campo::find(1)->imagenes()->save(new ImagenCampo(array('url'=>'ods3.jpg')));
		Campo::find(1)->imagenes()->save(new ImagenCampo(array('url'=>'ods4.jpg')));
		Campo::find(2)->imagenes()->save(new ImagenCampo(array('url'=>'ma1.jpg')));
		Campo::find(2)->imagenes()->save(new ImagenCampo(array('url'=>'ma2.jpg')));
		Campo::find(3)->imagenes()->save(new ImagenCampo(array('url'=>'cp1.jpg')));
		Campo::find(3)->imagenes()->save(new ImagenCampo(array('url'=>'cp2.jpg')));
	}

}

class TorneosTableSeeder extends Seeder {

	public function run()
	{
		DB::table('torneos')->truncate();
		DB::table('torneos_usuarios')->truncate();

		Torneo::create(array(
			'titulo' => 'Torneo de orejilla del sordete',
			'descripcion' => 'Nueva localizacion para desarrollar nuestros torneos que esperamos que sea de vuestro agrado.',
			'plazas' => '20',
			'duracion' => '4',
			'fecha' => '2014-07-04 9:30:00'
		));
		
		Torneo::find(1)->user()->associate(User::find(1))->save();
		Torneo::find(1)->campo()->associate(Campo::find(1))->save();
		Torneo::find(1)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods1.jpg')));
		Torneo::find(1)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods2.jpg')));
		Torneo::find(1)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods3.jpg')));
		Torneo::find(1)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods4.jpg')));
		
		
		Torneo::create(array(
			'titulo' => 'Torneo de masegoso de la Alpujarra',
			'descripcion' => 'Ya llevamos 1 año realizando torneos en esta localizacion de Masegoso de la Alpujarra y esperamos que salga tan bien como siempre.',
			'plazas' => '20',
			'duracion' => '5',
			'password' => Hash::make('123'),
			'fecha' => '2014-06-04 14:30:00'
		));
		
		Torneo::find(2)->user()->associate(User::find(1))->save();
		Torneo::find(2)->campo()->associate(Campo::find(2))->save();
		Torneo::find(2)->users()->attach(User::find(2),array('equipo'=>'calvisimos','puntuacion'=>'12'));
		Torneo::find(2)->users()->attach(User::find(3),array('equipo'=>'calvisimos','puntuacion'=>'13'));
		Torneo::find(2)->users()->attach(User::find(4),array('equipo'=>'calvisimos','puntuacion'=>'14'));
		Torneo::find(2)->users()->attach(User::find(5),array('equipo'=>'perdisimos','puntuacion'=>'10'));
		Torneo::find(2)->users()->attach(User::find(6),array('equipo'=>'perdisimos','puntuacion'=>'11'));
		Torneo::find(2)->users()->attach(User::find(7),array('equipo'=>'perdisimos','puntuacion'=>'12'));
		
		Torneo::find(2)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods1.jpg')));
		Torneo::find(2)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods2.jpg')));
		Torneo::find(2)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods3.jpg')));
		Torneo::find(2)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods4.jpg')));
		
		
		Torneo::create(array(
			'titulo' => 'Torneo de cendrejas del padrastro',
			'descripcion' => 'Como todos los años siempre disfrutamos del torneo en cendrejas del padrastro.',
			'plazas' => '20',
			'duracion' => '6',
			'fecha' => '2014-05-04 08:30:00'
		));
		
		Torneo::find(3)->user()->associate(User::find(1))->save();
		Torneo::find(3)->campo()->associate(Campo::find(3))->save();
		
		Torneo::find(3)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods1.jpg')));
		Torneo::find(3)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods2.jpg')));
		Torneo::find(3)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods3.jpg')));
		Torneo::find(3)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods4.jpg')));
		
		Torneo::find(3)->videos()->save(VideoTorneo::create(array('url'=>'http://www.youtube.com/watch?v=sQAtpPQMMpE')));
		Torneo::find(3)->videos()->save(VideoTorneo::create(array('url'=>'http://www.youtube.com/watch?v=8JZTlcV17B0')));
		
		
		Torneo::create(array(
			'titulo' => 'Torneo de orejilla del sordete',
			'descripcion' => 'Nueva localizacion para desarrollar nuestros torneos que esperamos que sea de vuestro agrado.',
			'plazas' => '10',
			'duracion' => '4',
			'fecha' => '2014-04-02 10:00:00'
		));
		
		Torneo::find(4)->user()->associate(User::find(1))->save();
		Torneo::find(4)->campo()->associate(Campo::find(1))->save();
		
		Torneo::find(4)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods1.jpg')));
		Torneo::find(4)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods2.jpg')));
		Torneo::find(4)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods3.jpg')));
		Torneo::find(4)->imagenes()->save(ImagenTorneo::create(array('url'=>'ods4.jpg')));
		
		Torneo::find(4)->videos()->save(VideoTorneo::create(array('url'=>'http://www.youtube.com/watch?v=sQAtpPQMMpE')));
		Torneo::find(4)->videos()->save(VideoTorneo::create(array('url'=>'http://www.youtube.com/watch?v=8JZTlcV17B0')));
	}

}
class CronicasTableSeeder extends Seeder {

	public function run()
	{
		DB::table('cronicas')->truncate();

		Cronica::create(array(
		'titulo' => 'Torneo de masegoso de la Alpujarra',
		'descripcion' => 'El torneo que se ha llevado a cabo en Masegoso de la Alpujarra ha sido un exito.</br> La participacion ha sido del 100% y nadie a sufrido ningun percance, como viene siendo habitual jaja.</br> Se han jugado 5 partidas que han estado muy disputadas ya que el resultado final ha sido 39 a 33.',
		'imagen' => 'cronica1.jpg',
		'duracion' => '6',
		'fecha' => '2014-05-04 08:30:00'
				));

		Cronica::find(1)->user()->associate(User::find(5))->save();
		Cronica::find(1)->torneo()->associate(Torneo::find(2))->save();

		Cronica::create(array(
		'titulo' => 'Torneo de orejilla del sordete',
		'descripcion' => 'Torneo pendiente de redaccion',
		'imagen' => 'cronica2.jpg',		
		'duracion' => '4',
		'fecha' => '2014-04-02 10:00:00'
				));

		Cronica::find(2)->user()->associate(User::find(5))->save();
		Cronica::find(2)->torneo()->associate(Torneo::find(4))->save();
	}

}
class NoticiasTableSeeder extends Seeder {

public function run()
	{
		DB::table('noticias')->truncate();

		Noticia::create(array(
			'imagen' => '33.jpg',
			'titulo' => 'Añadimos un nuevo campo',
			'descripcion'=>'Hemos decidido añadir un nuevo campo para realizar nuestros torneos ya que los que utilizamos actualmente estan muy vistos y lo que queremos es disfrutar a tope con nuevas instalaciones.',
			'user_id'=>User::first()->id,
			'created_at'=>'2014-04-04 13:30:31'
		));
		
		Noticia::create(array(
			'imagen' => '33.jpg',
			'titulo' => 'Monta tu propio campo de Paintball',
			'descripcion'=>'Recomendamos la compra de bunkers inflables fabricados en pvc. Aqui tenemos una seleccion de los mas importantes que no deberian de faltar nunca en tu campo: toboganes inflables, castillos inflables, gorila inflable, grandes juguetes inflables, infatable juegos, bola del agua, rodillo del agua, bola del zorb agua, inflable del agua de la piscina de natación, aqua barco, barco de parachoques, trampolín del agua, diapositivas inflables del agua.',
			'user_id'=>User::first()->id,
			'created_at'=>'2014-04-12 13:30:31'
		));
		
		Noticia::create(array(
			'imagen' => '35.jpg',
			'titulo' => 'Tipos de bolas que recomendamos',
			'descripcion'=>'Hechas para el clima mas extremo, resiste temperaturas de -9 grados. Ideal para usar en lugares con temperaturas muy bajas e incluso con nieve.',
			'user_id'=>User::first()->id,
			'created_at'=>'2014-04-15 13:30:31'
		));
		
		Noticia::create(array(
			'imagen' => '34.jpg',
			'titulo' => 'Nueva Marcadora eclipse',
			'descripcion'=>'Esta marcadora pretende ampliar el mercado de Planet Eclipse a aquellos jugadores ocasionales, o principiantes que no desean hacer un gran desembolso económico en su primera marcadora.</br></br> Empecemos hablando de lo que a todos nos preocupa en estos tiempos, EL PRECIO. En Europa está rondando los 360€ ($395 en USA).</br></br> Desde luego está muy por debajo de todas las marcadoras de Eclipse y de otras grandes marcas. Incluso por debajo de muchas marcadoras de "bosque/escenario".',
			'user_id'=>User::first()->id,
			'created_at'=>'2014-04-21 13:30:31'
		));
	}

}

class RolesTableSeeder extends Seeder{
	public function run(){
		DB::table('roles')->truncate();
		DB::table('usuarios_roles')->truncate();

		Rol::create(array('id'=>1,'nombre'=>'admin'));
		Rol::create(array('id'=>2,'nombre'=>'usuario'));
		Rol::create(array('id'=>3,'nombre'=>'admin.torneos'));
		Rol::create(array('id'=>4,'nombre'=>'redactor'));
		
		User::find(1)->roles()->attach(Rol::find(4));
		User::find(2)->roles()->attach(Rol::find(1));
		User::find(3)->roles()->attach(Rol::find(1));
		User::find(4)->roles()->attach(Rol::find(1));
		User::find(5)->roles()->attach(Rol::find(3));
		User::find(6)->roles()->attach(Rol::find(4));
		User::find(7)->roles()->attach(Rol::find(4));
		
		User::find(8)->roles()->attach(Rol::find(2));
		
	}
}

class UserTableSeeder extends Seeder {

	public function run()
	{
		DB::table('users')->truncate();

		User::create(array('email' => 'torque@paint.com','username'=>'J.R.R. Torke Mada','password'=>Hash::make('123')));
		User::create(array('email' => 'dani@paintballed.com','username'=>'dani','password'=>Hash::make('123')));
		User::create(array('email' => 'daniel@paintballed.com','username'=>'daniel','password'=>Hash::make('123')));
		User::create(array('email' => 'guille@paintballed.com','username'=>'guille','password'=>Hash::make('123')));
		User::create(array('email' => 'javi@paintballed.com','username'=>'javi','password'=>Hash::make('123')));
		User::create(array('email' => 'erik@paintballed.com','username'=>'erik','password'=>Hash::make('123')));
		User::create(array('email' => 'jesus@paintballed.com','username'=>'jesus','password'=>Hash::make('123')));
		
		User::create(array('email' => 'unuser@paintballed.com','username'=>'user','password'=>Hash::make('123')));
		
		
	}

}
